package com.zxl.diy.weather.model.bean;

import org.json.JSONObject;

/**
 * Created by Administrator on 2016/11/6.
 */
public class Now {

    private static final double NO_DATA = -10000.0;

    private static final int NO_DATA_INT = -10000;

    /**
     * 天气状况  暂无实况
     */
    public static final int WAATHER_NO = 1;

    /**
     * 天气状况  晴
     */
    public static final int WAATHER_SUNNY = 2;

    /**
     * 天气状况  多云
     */
    public static final int WAATHER_CLOUDY = 3;

    /**
     * 天气状况  阴
     */
    public static final int WAATHER_YIN = 4;

    /**
     * 天气状况  雪
     */
    public static final int WAATHER_SNOW = 5;

    /**
     * 天气状况  雾
     */
    public static final int WAATHER_FOG = 6;

    /**
     * 天气状况  雨
     */
    public static final int WAATHER_RAIN = 7;

    /**
     * 天气状况  雷雨
     */
    public static final int WAATHER_THUNDER_STORM = 8;


    /**
     * 气压 29.93（即29.93 inHg）(暂无实况时，下发-10000.0)
     */
    public double barometer = NO_DATA;

    /**
     * 露点 6.2（6.2inHg） (暂无实况时，下发-10000.0)
     */
    public double dewpoint = NO_DATA;

    /**
     * 体感温度  华氏度，例如：73.1(暂无实况时，下发-10000.0)
     */
    public double feelLike = NO_DATA;

    /**
     * 最高温度  华氏度，例如：60.1(暂无实况时，下发-10000.0)
     */
    public double high = NO_DATA;

    /**
     * 最低温度  华氏度，例如：50(暂无实况时，下发-10000.0)
     */
    public double low = NO_DATA;

    /**
     * 当前湿度  9(即9%）(暂无实况时，下发-10000)
     */
    public int humidity = NO_DATA_INT;

    /**
     * 降水概率  90 (即：90%) (暂无实况时，下发-10000)
     */
    public int pop = NO_DATA_INT;

    /**
     * 降雨量  0.5(暂无实况时，下发-10000.0)
     */
    public double rainfall = NO_DATA;

    /**
     * 当前温度  华氏度，例如：76.1(暂无实况时，下发-10000.0)
     */
    public double realTemp = NO_DATA;

    /**
     * 天气描述   晴(暂无实况时，下发空字符串)
     */
    public String status;

    /**
     * 天气类型  参照天气状况列表，例如：1
     */
    public int statusType;

    /**
     * 日出时间   5:23(暂无实况时，下发空字符串)
     */
    public String sunrise;

    /**
     * 日落时间 15:23(暂无实况时，下发空字符串)
     */
    public String sunset;

    /**
     * 紫外线强度  9.1(暂无实况时，下发-10000.0)
     */
    public double uvIndex = NO_DATA;

    /**
     * 可见度  6.2 (即6.2mi)(暂无实况时，下发-10000.0)
     */
    public double visibility = NO_DATA;

    /**
     * 风向描述  东北风(暂无实况时，下发空字符串)
     */
    public String windDir;

    /**
     * 风向类型  参照风向类型列表 例如：1
     */
    public int windDirType;

    /**
     * 3.1(即3.1MPH)(暂无实况时，下发-10000.0)
     */
    public double windStrengthInt = NO_DATA;

    public void parseJson(JSONObject jsonObject) {
        barometer = jsonObject.optDouble("barometer");
        dewpoint = jsonObject.optDouble("dewpoint");
        feelLike = jsonObject.optDouble("feelLike");
        high = jsonObject.optDouble("high");
        low = jsonObject.optDouble("low");
        humidity = jsonObject.optInt("humidity");
        pop = jsonObject.optInt("pop");
        rainfall = jsonObject.optInt("rainfall");
        realTemp = jsonObject.optInt("realTemp");
        status = jsonObject.optString("status");
        sunrise = jsonObject.optString("sunrise");
        sunset = jsonObject.optString("sunset");
        uvIndex = jsonObject.optInt("uvIndex");
        visibility = jsonObject.optDouble("visibility");
        windDir = jsonObject.optString("windDir");
        windDirType = jsonObject.optInt("windDirType");
        windStrengthInt = jsonObject.optDouble("windStrengthInt");
    }

    public boolean isEmpty(int data) {
        return data == NO_DATA_INT;
    }

    public boolean isEmpty(double data) {
        return data == NO_DATA;
    }

}
